When storing data, it is often desirable to have the data stored in multiple locations. Multiple storage locations can help ensure accessibility should one or more of the locations become unavailable, and can, in some cases, provide for increased customization in how the data is stored and/or retrieved. However, storing the data at multiple locations, whether those locations are physically distinct or are co-located partitions of a single data storage device, often leads to delays in both storage and retrieval of data. These delays often originate in the duplication of instructions and/or data for each location. While for relatively small data sizes these duplication delays may be negligible to a given user, as the size of the data increases any duplication delay in storing or retrieving data can result in delays that can be detected by the user.
With cloud computing and network based storage services, these delays can impact customer perceptions of the service. A network based storage service allows users to store, access, and manipulate data on databases and servers maintained across a network, thereby freeing customers from being concerned with the physical location of the storage of the data while giving them near instantaneous access to the data from virtually any network access point. However, customers using network based storage services generally want access to their data to be near instantaneous, and not delayed or slow. When customers begin to experience substantial delays in storing and retrieving data, customer confidence and satisfaction wanes.